//存放主要交互逻辑js代码
// javascript 模块化  包
var seckill = {
    //封装秒杀相磁ajax的url
    URL :{
        now :function () {
            return '/seckill/time/now';
        },
        exposer :function (seckillId) {
          return '/seckill/'+seckillId+'/exposer';
        },
        execution:function (seckillId,md5) {
            return '/seckill/' + seckillId +'/' +md5+'/execution';
        }


    },
    handleSeckillkill : function (seckillId,node) {
      //处理秒杀逻辑
        node.hide().html('<button class="btn btn-primary btn-lg" id="killBtn">开始秒杀</button>');
        $.post(seckill.URL.exposer(seckillId),{},function (result) {
            //在回调函数中，执行交互流程
            if (result && result['success']){

                var exposer = result['data'];
                if(exposer['exposed']){
                    //开启秒杀
                    var md5 = exposer['md5'];
                    var killUrl = seckill.URL.execution(seckillId,md5);

                    //这里不用click是因为click永远绑定，而one只绑定一次
                    $('#killBtn').one('click',function () {
                        //执行秒杀请求
                        $(this).addClass('disabled');

                        $.post(killUrl,{},function (result) {

                                if (result && result['success']){
                                    var killResult = result['data'];
                                    var state = killResult['state'];
                                    var stateInfo = killResult['stateInfo'];
                                    //3:显示秒杀结果
                                    node.html('<span class="label label-success">' + stateInfo
                                     + '</span>');

                            }
                        })
                    })
                    node.show();

                }else{
                    //未开始秒杀
                    var now = exposer['now'];
                    var start = exposer['start'];
                    var end = exposer['end'];
                    seckill.countdown(seckillId,now,start,end);

                }



            }else {
                console.log('result:'+result);
            }
        })
    },

    //验证手机号
    validatePhone : function (phone) {
        if(phone && phone.length == 11 && !isNaN(phone)){

            return true;
        }else {
            return false;
        }
    },
    //详情页秒杀逻辑
    countdown : function (seckillId,nowTime,startTime,endTime) {
        // console.log(seckillId);

        var seckillBox = $('#seckill-box');
        if(nowTime > endTime){
            //秒杀结束
            seckillBox.html("秒杀结束！")

        }else if(nowTime < startTime){
            //秒杀未开始，计时
            var killIime = new Date(startTime-0 + 1000);

            seckillBox.countdown(killIime,function (event) {
                var format = event.strftime('秒杀计时：%D天 %H时 %M分 %S秒');
                seckillBox.html(format);
                /*时间完成后回调事件*/
            }).on('finish.couuntdown',function () {
                //获取秒杀地址，控制实现逻辑，执行秒杀


                seckill.handleSeckillkill(seckillId,seckillBox);
            });
        }else{
            //秒杀开始
            debugger
            seckill.handleSeckillkill(seckillId,seckillBox);
        }
    },
    detail : {
        //详情页初始化
        init : function(params) {
            //手机验证和登录，计时交互
            //规划我们的交互流程
            //在cookie中查找手机号
            var killPhone = $.cookie('killPhone');

            //验证手机号
            if(!seckill.validatePhone(killPhone)){
                //绑定phone
                //控制输出
                var killphoneModal = $('#killPhoneModel');
                //显示弹出层
                killphoneModal.modal({
                    //显示弹出层
                    show:true,
                    //禁止位置关闭
                    backdrop:'static',
                    keyboard:false  //关闭键盘事件


                });
                $('#killPhoneBtn').click(function(){
                   var inputPhone = $('#killPhoneKey').val();
                    if (seckill.validatePhone(inputPhone)){
                        //电话写入cookie
                        $.cookie('killPhone',inputPhone,{expires:1,path:'seckill'});
                        //刷新页面
                        window.location.reload();
                    }else{
                        $('#killPhoneMessage').hide().html('<laber class="label label-danger">手机号错误</laber>').show(300);

                    }

                });
            }
            //已经登录
            //计时交互
            var startTime = params['startTime'];
            var endTime = params['endTime'];
            var seckillId = params['seckillId'];


            $.get(seckill.URL.now(),{},function (result) {

                if(result && result['success']){

                    var nowTime = result['data'];
                    //时间判断
                    seckill.countdown(seckillId,nowTime,startTime,endTime);

                }else{

                    console.log('result:'+result);
                }
            });



         }


   }
}
